package door.utils;

import app.nbdevices.utils.ConvertUtil;
import door.modle.cmdModle.DoorCmdModle;
import org.apache.commons.codec.EncoderException;

import java.io.UnsupportedEncodingException;


public class DoorCmdGenerator {
    public static String doorOperator(int islock,int isswitch) throws EncoderException {
        DoorCmdModle doorCmdModle=new DoorCmdModle();

       byte[] cmd=new byte[3];
       cmd[0]=(byte)islock;
       cmd[1]=(byte)isswitch;
       cmd[2]=0x55;
       return ConvertUtil.getBase64Codec().encodeAsString(cmd);
    }

    public static void main(String[] args) throws UnsupportedEncodingException, EncoderException {
   //     System.out.println(doorOperator(0,0));
        //        String cmd="{\"addrId\":\"VDAwMDAx\",\"cmdData\":\"AQBV AAFV\"}";dTydiRYzVQ==
//        String s="AAAAEiA4UhYoAAABAAAAAAAAAABV";
//        String add="VDAwMDAx";
//        byte[] res=ConvertUtil.getBase64Codec().decode(s);
//        byte[] addr=ConvertUtil.getBase64Codec().decode(add);
//        for(byte b:res){
//            System.out.print(Byte.toUnsignedInt(b)+" ");
//        }AAFV
//        System.out.println();
//        for(byte b:addr){
//            System.out.print(Byte.toUnsignedInt(b)+" ");
//        }
//        System.out.println(new String(addr,"ascii"));
        byte[] ip=new byte[7];
//        ip[0]=(byte)0x75;
//        ip[1]=(byte)0x3c;
//        ip[2]=(byte)0x9d;
//        ip[3]=(byte)0x89;
//        ip[4]=(byte)0x16;
//        ip[5]=(byte)0x33;
//        ip[6]=(byte)0x55;
//        ip[0]=(byte)0xb4;
//        ip[1]=(byte)0x65;
//        ip[2]=(byte)0x93;
//        ip[3]=(byte)0x73;
//        ip[4]=(byte)0x16;
//        ip[5]=(byte)0x33;
//        ip[6]=(byte)0x55;
//        System.out.println(new String(ConvertUtil.getBase64Codec().encode(ip)));
//
//        byte[] cmd=new byte[3];
//        cmd[0]=(byte)0x01;
//        cmd[1]=(byte)0x00;
//        cmd[2]=(byte)0x55;
//        System.out.println(new String(ConvertUtil.getBase64Codec().encode(cmd)));
//        String g="T00001";
//        System.out.println(ConvertUtil.getBase64Codec().encodeToString(g.getBytes()));
//        String o="MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy";
//        String p="ADEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MAAAAA==";
//        String ui="MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwAAAAAA==";
//        byte[] u=new byte[245];
//       byte[] iu=ConvertUtil.getBase64Codec().decode(ui);
//
//        for(int i=0;i<244;i++){
//            u[i]=iu[i];
//        }
//        u[244]=(byte)0x55;
//        System.out.println("ddd"+ConvertUtil.getBase64Codec().encodeAsString(u));
//        byte[] i=ConvertUtil.getBase64Codec().decode(p);
//        System.out.println(ConvertUtil.getBase64Codec().encodeAsString(i));
//        System.out.println(i.length+" "+p.length());
//        String res="AQQCAMl5ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
//                byte[] bres=ConvertUtil.getBase64Codec().decode(res);
//        for(byte b:bres){
//            System.out.print(b+" ");
//        }
//        String res="AQQCARl5agAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
//        byte[] ress=ConvertUtil.getBase64Codec().decode(res);
//        for(byte b:ress){
//            System.out.print(Integer.toHexString(b)+" ");
//        }
//        System.out.println();
        byte[] data=new byte[244];
//        //    01 04 00 00 00 01 31 CA
        //03 04 00 00 00 01 30 28
        //0304000000027029
        //03 04 00 00 00 01 30 28
//        data[0]=0x03;
//        data[1]=0x04;
//        data[2]=0x00;
//        data[3]=0x00;
//        data[4]=0x00;
//        data[5]=0x01;
//        data[6]=0x30;
//        data[7]=(byte)0x28;
//        data[8]=0x55;
        data[0]=0x03;
        data[1]=0x04;
        data[2]=0x00;
        data[3]=0x00;
        data[4]=0x00;
        data[5]=0x02;
        data[6]=0x70;
        data[7]=(byte)0x29;
        data[8]=0x55;
//        data[0]=0x01;
//        data[1]=0x04;
//        data[2]=0x00;
//        data[3]=0x00;
//        data[4]=0x00;
//        data[5]=0x02;
//        data[6]=0x71;
//        data[7]=(byte)0xcb;
//        data[8]=0x55;
        for(int i=9;i<data.length;i++){
                data[i]=0x00;
        }
        System.out.println(ConvertUtil.getBase64Codec().encodeAsString(data));
      //  AQQAAAABMcpVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAm
//        int count=0;
//        for(byte b:i){
//            System.out.print(b+" ");
//            count++;
//        }
//        System.out.println();
//        System.out.println(count);
    }
}
